package com.java2007.zhangyu.restaurant.service;

import com.java2007.zhangyu.restaurant.entity.PageBean;
import com.java2007.zhangyu.restaurant.pojo.Food;
import com.java2007.zhangyu.restaurant.pojo.FoodType;

import java.sql.SQLException;
import java.util.List;

/**
 * @author zy
 * @Version
 * @date 2021/01/27
 */
public interface FoodService {
    /**
     * 根据菜品类别名增加菜品类别
     * @param food 菜品类别名
     * @return 若返回-1表示增加信息失败，若返回1表示增加信息成功
     * @throws SQLException
     */
    int save(Food food) throws SQLException;

    /**
     * 根据菜品类别id删除
     * @param fID 菜品类别id
     * @return 若返回-1表示删除信息失败，若返回1表示删除信息成功
     * @throws SQLException
     */
    int deleteByFoodId(Integer fID) throws SQLException;

    /**
     * 更新菜品类别
     * @param food 菜品类别实例对象
     * @return 若返回-1表示更新信息失败，若返回1表示更新信息成功
     * @throws SQLException
     */
    int update(Food food) throws SQLException;

    /**
     * 根据菜品类别id查询，用于数据回显
     * @param fId 菜品类别id
     * @return
     * @throws SQLException
     */
    Food queryByFoodId(Integer fId) throws SQLException;

    /**
     * 根据菜品类别名模糊查询菜品信息
     * @param fName 菜品类别名
     * @return
     * @throws SQLException
     */
    List<Food> queryByFoodName(String fName) throws SQLException;

    /**
     * 查询所有菜品类别信息
     * @return
     * @throws Exception
     */
    List<Food> queryAll() throws Exception;

    /**
     * 分页的业务接口
     * @param pageNo 当前页
     * @param pageSize 页大小
     * @param food
     * @return
     */
    PageBean<Food> queryPage(Integer pageNo, Integer pageSize,Food food) throws Exception;

    /**
     * 查询菜品是否存在
     * @param fName
     * @return
     */
    int checkFoodName(String fName);
}
